home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / programming / other / gui4cli / tools / fastread / fastread.gc next >
Text File  |  1999-05-14  |  3KB  |  165 lines

  1. G4C
  2.  
  3. WINBIG 210 36 240 177 "FastRead.gc"
  4. wintype 11010001
  5. usetopaz
  6. varpath "viewtext.g"
  7.  
  8. xonreload
  9. guiopen fastread.gc
  10.  
  11. xonload
  12. extract fastread.gc guipath fre_path
  13. assign GCHELP: $fre_path
  14. delvar fre_path
  15. ttget gchelp:fastread.gc
  16. guiload gchelp:viewtext.g
  17. ifexists port AREXX
  18.     ;Nop
  19. elseifexists file sys:system/rexxmast
  20.     run 'sys:system/rexxmast >nil:'
  21. else
  22.     ezreq "Can't start ARexx" Okay ""
  23.     assign gchelp: remove
  24.     guiquit viewtext.g 
  25.     guiquit fastread.gc   
  26. endif
  27.  
  28. guide = $*FRGUIDE       ; change this 
  29.  
  30. if $guide = ''
  31.     reqfile -1 -1 200 -60 'Select A Document' load guide GUIS:Docs
  32.     if $guide = ''
  33.        assign GCHELP: remove
  34.        guiquit viewtext.g 
  35.        guiquit fastread.gc   
  36.        stop
  37.     endif
  38. endif
  39.  
  40. extract guide file list
  41. appvar list .idx
  42. joinfile gchelp:idx $list list
  43. ifexists file c:getnodes
  44. andifexists file c:writenode
  45.     run 'resident c:getnodes pure add'
  46.     run 'resident c:writenode pure add'
  47. elseifexists file guis:c/getnodes
  48. andifexists file guis:c/writenode
  49.     run 'resident guis:c/getnodes pure add'
  50.     run 'resident guis:c/writenode pure add'
  51. else
  52.     ezreq "Cannot Find Binaries." Okay ""
  53.     gosub fastread.gc exit
  54. endif
  55. ifexists file $list
  56.     ;nop
  57. else
  58.     cli 'getnodes $guide $list'
  59. endif
  60. lvuse fastread.gc 1
  61. lvchange $list
  62. guiopen fastread.gc
  63. extract guide file wtitle
  64. extract wtitle unquote wtitle
  65. setwintitle fastread.gc '$wtitle'
  66.  
  67.  
  68. xonkey #v
  69. xonkey #r
  70. if $$rawkey.code = 95
  71.     cli 'writenode guis:docs/helpsystem.txt 8655 1826'
  72.     guiopen viewtext.g
  73.     set translation off
  74.     lvuse viewtext.g 1
  75.     lvchange ram:guide.txt
  76. elseif $$rawkey.code = 78
  77.     lvuse fastread.gc 1
  78.     lvmove 1
  79. elseif $$rawkey.code = 79
  80.     lvuse fastread.gc 1
  81.     lvmove -1
  82. endif
  83.  
  84. xonclose
  85. gosub fastread.gc exit
  86.  
  87. XTEXTIN 0 0 163 13 "" txt "" 80
  88. gadhelp 'Enter text to search for'
  89. if $txt > ''
  90.     lvuse fastread.gc 1
  91.     lvsearch $txt ci first
  92. endif
  93. gosub fastread.gc search_update
  94.  
  95. XBUTTON 164 0 19 13 »
  96. gadhelp 'Find next..'
  97. if $txt > ''
  98.    lvuse fastread.gc 1
  99.    lvsearch $txt ci next
  100. endif
  101. gosub fastread.gc search_update
  102.  
  103. XBUTTON 183 0 17 13 "R"        ; re-index the guide
  104. gadhelp 'Re-Index guide (in case it has been edited)'
  105. guiwindow fastread.gc wait
  106. cli 'getnodes $guide $list'
  107. lvuse fastread.gc 1
  108. lvchange $list
  109. guiwindow fastread.gc resume
  110.  
  111.  
  112. XBUTTON 200 0 40 13 Open
  113. gadhelp 'Load an other guide'
  114. reqfile -1 -1 200 -60 'Select A Guide:' load doc GUIS:Docs
  115. ifexists file $doc
  116.     guide = $doc
  117.     extract guide file list
  118.     appvar list .idx
  119.     joinfile gchelp:idx $list list
  120.     ifexists file $list
  121.         ;nop
  122.     else
  123.         cli 'getnodes $guide $list'
  124.     endif
  125.     lvuse fastread.gc 1
  126.     lvchange $list
  127.     extract guide file wtitle
  128.     extract wtitle unquote wtitle
  129.     setwintitle fastread.gc '$wtitle'
  130. endif
  131.  
  132. XLISTVIEW 0 13 240 170 '' topic '' 0 txt
  133. gadid 1
  134. gosub fastread.gc fetchtext
  135.  
  136. xroutine fetchtext
  137. cutvar topic cut word -2 offset
  138. extract topic upper topic
  139. extract topic unquote topic
  140. cli 'writenode $guide $offset'
  141. guiopen viewtext.g
  142. update viewtext.g 2 "Subject: $topic"
  143. set translation off
  144. lvuse viewtext.g 1
  145. lvchange ram:guide.txt
  146.  
  147. xroutine search_update
  148. if $$lv.line > ''
  149.    update fastread.gc 1 $$lv.line
  150. else
  151.    lvgo #0
  152.    update fastread.gc 1 0
  153. endif
  154.  
  155. xroutine exit
  156. assign GCHELP: remove
  157. run 'resident getnodes remove'
  158. run 'resident writenode remove'
  159. ifexists file ram:guide.txt
  160.     delete ram:guide.txt
  161. endif
  162. guiquit viewtext.g 
  163. guiquit fastread.gc   
  164.    
  165.